package com.wopinla.controller;
import com.wopinla.pojo.CommentResult;
import com.wopinla.pojo.comment;
import com.wopinla.pojo.user;
import com.wopinla.service.CommentService;

import com.wopinla.service.ShoppingcarService;
import com.wopinla.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.xml.stream.events.Comment;
import java.text.SimpleDateFormat;
import java.util.*;

@RestController                                                         //添加RestController注解
@RequestMapping(path = "/example")                                      //这个是路由，也就是访问以下方法路径前必须带有/example,可以不要，建议加上，这样可以细分路径
@CrossOrigin(allowCredentials = "true", maxAge = 3600)

public class CommentController {

    @Autowired                                                          //注入exampleService服务
    private CommentService commentService;

    @Autowired
    private UserService userService;


    @RequestMapping(value = "/addcomment", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public int addcomment(int uid,int gid,String content){
        /*上面规定需要传俩个参数，username，password，因此get请求时，参数名和username,password对应
        对于这个查找完整地请求路径是http://127.0.0.1:7747/example/sayhello?username=jack&password=123*/
        SimpleDateFormat df = new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
        String time=df.format(new Date());

        Map map = new HashMap();                                        //查询数据库
        map.put("uid", uid);                                  //查询时，有多少条件就加多少条件
        map.put("gid", gid);
        map.put("time", time);
        map.put("content", content);

        return commentService.addcomment(map);                                           //可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
    }


    @RequestMapping(value = "/findcomment", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public List<CommentResult> findcomment(int gid){

        List<comment> commentList = commentService.findComment(gid);//可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
        List<CommentResult> crList = new ArrayList<CommentResult>();
        for(comment content : commentList){
            user u = userService.findUserById(content.getUid());
            CommentResult cr = new CommentResult();
            cr.setUid(content.getUid());
            cr.setGid(content.getGid());
            cr.setContent(content.getContent());
            cr.setTime(content.getTime());
            cr.setUsername(u.getUsername());
            crList.add(cr);
        }
        return crList;

    }


}
